package com.wbp.cms.client.user.service;

import java.io.Serializable;
import java.util.List;

import com.wbp.cms.client.result.Result;
import com.wbp.cms.client.user.domain.RoleDO;
import com.wbp.cms.client.user.query.RoleQuery;


/**
 * @Description: 
 * @Department:
 * @author andy.lhc
 * @date 2016年3月20日 上午10:24:25 
 */
public interface RoleService extends Serializable{

  public Result<Long> addRole(RoleDO roleDO);

  public Result<Boolean> modifyRole(RoleDO roleDO);

  public Result<RoleDO> queryRoleById(Long roleId);

  public Result<List<RoleDO>> queryRoles(RoleQuery roleQuery); 
  
  public RoleDO  queryRoleByUserId(Long userId) ;
  
  /**
   * 根据用户Id查询该用户的角色的下属所有可用的子角色
   * @param roleId
   * @return
   */
  public Result<List<RoleDO>> queryChildRole(Long  userId) ;
  
}
